home *** CD-ROM | disk | FTP | other *** search
/ BMUG Revelations / BMUG Revelations.toast / Sound / Sound Utilities / The Sound-Tracker V1.0 / 'PSyn' Glue.c next >
Text File  |  1992-04-23  |  2KB  |  116 lines

  1.  
  2. /* 'Psyn' Glue.c - Glue for 'PSyn' resource calls */
  3.  
  4. /* Copyright (c) 1992 by Frank Seide, Koolbarg 39d, D-2000 Hamburg 74, Germany */
  5.  
  6. Boolean CheckPChannel() /* (struct PChannel * pc) */
  7. {
  8.     asm {
  9.         move.l        #0,-(a7)
  10.         move.l        #'PSyn',-(a7)
  11.         move.w        #128,-(a7)
  12.         _GetResource
  13.         move.l        (a7)+,a0
  14.         move.l        (a0),a0
  15.         jmp        0(a0)
  16.     }
  17. }
  18.  
  19. void StopPChannel() /* (struct PChannel * pc, Boolean fadeOut) */
  20. {
  21.     asm {
  22.         move.l        #0,-(a7)
  23.         move.l        #'PSyn',-(a7)
  24.         move.w        #128,-(a7)
  25.         _GetResource
  26.         move.l        (a7)+,a0
  27.         move.l        (a0),a0
  28.         jmp        4(a0)
  29.     }
  30. }
  31.  
  32. void ClosePChannel() /* (struct PChannel * pc) */
  33. {
  34.     asm {
  35.         move.l        #0,-(a7)
  36.         move.l        #'PSyn',-(a7)
  37.         move.w        #128,-(a7)
  38.         _GetResource
  39.         move.l        (a7)+,a0
  40.         move.l        (a0),a0
  41.         jmp        8(a0)
  42.     }
  43. }
  44.  
  45. void ResetPChannel() /* (struct PChannel * pc) */
  46. {
  47.     asm {
  48.         move.l        #0,-(a7)
  49.         move.l        #'PSyn',-(a7)
  50.         move.w        #128,-(a7)
  51.         _GetResource
  52.         move.l        (a7)+,a0
  53.         move.l        (a0),a0
  54.         jmp        12(a0)
  55.     }
  56. }
  57.  
  58. OSErr OpenPChannel() /* (int channels, Boolean stereo, int playFrames, struct PChannel ** pcp) */
  59. {
  60.     asm {
  61.         move.l        #0,-(a7)
  62.         move.l        #'PSyn',-(a7)
  63.         move.w        #128,-(a7)
  64.         _GetResource
  65.         move.l        (a7)+,a0
  66.         move.l        a0,d0
  67.         bne            @OK
  68.         move.w        #25,d0
  69.         _SysError
  70. @OK    _HLock
  71.         _HNoPurge
  72.         move.l        (a0),a0
  73.         jmp        16(a0)
  74.     }
  75. }
  76.  
  77. OSErr StartPChannel() /* (struct PChannel * pc) */
  78. {
  79.     asm {
  80.         move.l        #0,-(a7)
  81.         move.l        #'PSyn',-(a7)
  82.         move.w        #128,-(a7)
  83.         _GetResource
  84.         move.l        (a7)+,a0
  85.         move.l        (a0),a0
  86.         jmp        20(a0)
  87.     }
  88. }
  89.  
  90. OSErr StereoPChannel() /* (register struct PChannel * pc, Boolean stereo) */
  91. {
  92.     asm {
  93.         move.l        #0,-(a7)
  94.         move.l        #'PSyn',-(a7)
  95.         move.w        #128,-(a7)
  96.         _GetResource
  97.         move.l        (a7)+,a0
  98.         move.l        (a0),a0
  99.         jmp        24(a0)
  100.     }
  101. }
  102.  
  103. void PChannelVolume() /* (struct PChannel * pc, int chan, Fixed volume) */
  104. {
  105.     asm {
  106.         move.l        #0,-(a7)
  107.         move.l        #'PSyn',-(a7)
  108.         move.w        #128,-(a7)
  109.         _GetResource
  110.         move.l        (a7)+,a0
  111.         move.l        (a0),a0
  112.         jmp        28(a0)
  113.     }
  114. }
  115.  
  116.